import { env } from "./config";
import { set as setGlobalData, get as getGlobalData } from './globalData';

/**
 * 格式化成指定格式的时间
 * @param {Date} time 时间戳
 * @param {string} fmt 格式化的格式
 * @return {string} 格式后的时间
 */
export function timeFormat(time, fmt = 'yyyy-MM-dd hh:mm:ss') {
    time = new Date(time * 1000);
    let o = {
      'M+': time.getMonth() + 1, // 月份
      'd+': time.getDate(), // 日
      'h+': time.getHours(), // 小时
      'm+': time.getMinutes(), // 分
      's+': time.getSeconds(), // 秒
      'q+': Math.floor((time.getMonth() + 3) / 3), // 季度
      'S': time.getMilliseconds() // 毫秒
    };
    if (/(y+)/.test(fmt)) {
      fmt = fmt.replace(RegExp.$1, (time.getFullYear() + '').substr(4 - RegExp.$1.length));
    }
    for (let k in o) {
      if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)));
    }
    return fmt;
}

// 格式化为两个时间戳的差值为 "hh:mm:ss" 格式
export function formatTimeDifference(startTime, endTime) {
  const timestampDiff = endTime - startTime;
  const secondsInHour = 3600;
  const secondsInMinute = 60;

  // 计算小时、分钟和秒
  const hours = Math.floor(timestampDiff / secondsInHour);
  const minutes = Math.floor((timestampDiff % secondsInHour) / secondsInMinute);
  const seconds = timestampDiff % secondsInMinute;

  // 格式化为 "hh:mm:ss" 格式
  const formattedTime = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${Math.floor(seconds).toString().padStart(2, '0')}`;

  return formattedTime;
}

/**
 * 补全图片地址
 * @param {*} url
 */
export function fullImgUrl(url) {
  if (!url) {
    return url;
  }
  if (url.indexOf('http') !== -1) {
    return url;
  } else {
    return ENV.img_url + url;
  }
};

/**
 * 判断是否是手机
 * @param {string} string
 * @return {boolean} 是否是手机
 */
export function isPhoneNumber(str) {
  // let phoneReg = /^1(3|4|5|7|8)\d{9}$/;
  let phoneReg = /^1\d{10}$/;
  return phoneReg.test(str);
};

export function secondToDate(result) {
  var m = Math.floor((result / 60 % 60));
  var s = Math.floor((result % 60));
  return result = m + "分钟" + s + "秒";
}

export function getQueryString (url, name) {
  var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i')
  var r = url.substr(1).match(reg)
  if (r != null) {
    return r[2]
  }
  return null;
}